//package com.ocom.accesservice.business.impl;
//
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.ocom.accesservice.business.ZhongYuService;
//import com.ocom.accesservice.feign.SrvpamhService;
//import com.ocom.accesservice.service.DeviceLoginService;
//import com.ocom.common.entity.master.EntityDeviceLogin;
//import com.ocom.common.enums.ResultEnum;
//import com.ocom.common.resp.Result;
//import com.ocom.common.utils.*;
//import com.ocom.common.vo.HttpClientUtil;
//import com.ocom.common.vo.emqx.YctDataVo;
//import com.ocom.common.vo.recode.DoorRecodeVo;
//import com.ocom.common.vo.zhongyu.ZhongYuResponse;
//import com.ocom.common.vo.zhongyu.ZhongYuVo;
//import com.ocom.redis.util.RedisUtil;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.util.*;
//
//
//@Service
//public class ZhongYuServiceImpl implements ZhongYuService {
//
//
//	private Logger logger = LoggerFactory.getLogger(ZhongYuServiceImpl.class);
//
//	private final String REDIS_COMPANY_ZY_TOKEN_PERFIX = "Company:ZhongYu:Key:";
//
//	@Resource
//	RedisUtil redisUtil;
//
//
//	@Autowired
//	private DeviceLoginService deviceLoginService;
//
//	@Autowired
//	private SrvpamhService srvpamhService;
//
//	@Override
//	public Result getJkmInfo(Long companyId, String identity, String name) {
//
//		redisUtil.incr("Zy:companyId:"+companyId+"#identity:"+identity,1l);
//		redisUtil.expire("Zy:companyId:"+companyId+"#identity:"+identity,60l);
//
//		if(CommonUtil.isNull(identity) || CommonUtil.isNull(name)){
//			return ResultUtil.error(ResultEnum.Err_4010);
//		}
//
//		//获取单位token
//		EntityDeviceLogin entityDeviceLogin=deviceLoginService.GetLoginAccount(companyId);
//		if(entityDeviceLogin==null || CommonUtil.isNull(entityDeviceLogin.getSignKey())){
//			return ResultUtil.error(ResultEnum.Err_4007);
//		}
//
//		//请求接口
//		//加密身份证 姓名
//		List<EntityDeviceLogin> list1 =new ArrayList<>();
//		Object  zy = redisUtil.get("ZhongYuGetMachNoRandon");
//		if(zy==null){
//			list1	=deviceLoginService.GetMachNoRandon(companyId);
//			redisUtil.set("ZhongYuGetMachNoRandon",list1,3600l);
//		}else{
//			list1= JSON.parseArray(JSON.toJSONString(zy),EntityDeviceLogin.class);
//		}
//
//		if(list1 == null ){
//			return ResultUtil.error(ResultEnum.Err_4008);
//		}
//
//		Collections.shuffle(list1);
//
//		//机器号
//		EntityDeviceLogin entityDeviceLogin1 = null ;
//
//		for (EntityDeviceLogin entityDeviceLogin2 :list1){
//			boolean b=redisUtil.lock(":SignKey"+":"+entityDeviceLogin2.getSignKey()+":"+entityDeviceLogin2.getDeviceNo(),2);
//			if(!b){
//				continue;
//			}
//			entityDeviceLogin1 = entityDeviceLogin2;
//			break;
//		}
//
//		if(entityDeviceLogin1==null){
////			logger.info("中育频率太快 【{}】,【{}】,参数【{}】【{}】【{}】 ",entityDeviceLogin.getSignKey(),entityDeviceLogin1.getDeviceNo(), companyId,  identity,  name);
//
//			Object times = redisUtil.get("Zy:companyId:"+companyId+"#identity:"+identity);
//			if((Integer)times > 50){
//				logger.info("Zy:companyId:"+companyId+"#identity:"+identity+"重試次數超限");
//				return ResultUtil.success();
//			}
//			return ResultUtil.error(ResultEnum.Err_4009);
//		}
//
//		if(entityDeviceLogin1==null || CommonUtil.isNull(entityDeviceLogin1.getDeviceNo())){
//			return ResultUtil.error(ResultEnum.Err_4008);
//		}
//
//		String machNo = entityDeviceLogin1.getDeviceNo();
//
//		String encryName = signUserNameIdentity(machNo,name);
//		String encryIdentity = signUserNameIdentity(machNo,identity);
//
//		if(CommonUtil.isNull(encryName) || CommonUtil.isNull(encryIdentity)){
//			return ResultUtil.error(ResultEnum.Err_4004);
//		}
//
//		//		String siteToken = "25a44ab6-8428-65a6-4d23-b6b6cf5a7439";
//		String siteToken = entityDeviceLogin.getSignKey();
//
//		Result result=getCompanyToken(companyId,siteToken);
//		if(result.getCode()!=200){
//			return result;
//		}
//
//		/**
//		 * {
//		 *  "bodyTemperature": "0",
//		 *  "hardwareId": "xak90001",
//		 *  "name": "zrkKsTBPjl1kgZbenTo0UA==",
//		 *  "personId": "ZihaXaJLW/XijUafAYdSEjOhEeTStdrYft2FOZ+YkYM="
//		 * }
//		 */
//		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("bodyTemperature", 0);
//		jsonObject.put("hardwareId", machNo);
//		jsonObject.put("name", encryName);
//		jsonObject.put("personId", encryIdentity);
//
//		String ys = null;
//		ZhongYuResponse zhongYuResponse=new ZhongYuResponse();
//		try {
//			Map<String,String> map=new HashMap<>();
//			map.put("token",(String) result.getData());
////			ys = HttpUtils.doPostBodyData("https://dzzz.gdedu.gov.cn/cgwapi/aidv1?bhs=true&bym=true",map, jsonObject);
//
//			ys = HttpClientUtil.httpClientPost("https://dzzz.gdedu.gov.cn/cgwapi/aidv1?bhs=true&bym=true",(String) result.getData(), jsonObject.toString());
//			zhongYuResponse = JSON.parseObject(ys, ZhongYuResponse.class);
//		} catch (Exception e) {
//			logger.info("中育-数据aes 异常 【{}】", e);
//			return ResultUtil.error(ResultEnum.Err_4002);
//		}
//	//	System.out.println(ys);
//
//		if(zhongYuResponse==null || zhongYuResponse.getCode()==null || zhongYuResponse.getCode()!=200){
//			logger.info("中育-返回失败 返回数据【{}】", ys);
//			return ResultUtil.error(ResultEnum.Err_4005);
//		}
//
//		YctDataVo yctDataVo=new YctDataVo();
//		yctDataVo.setPName(zhongYuResponse.getData().getName());
//		yctDataVo.setIdCard(zhongYuResponse.getData().getId());
//		yctDataVo.setReason(zhongYuResponse.getData().getReason());
//		yctDataVo.setCodeColor(zhongYuResponse.getData().getReason());
//
//		//	status string status 为“00”绿码，“01”黄码，“10”红码
//		yctDataVo.setColorTime(DateUtil.getDateTime());
//		if(zhongYuResponse.getData().getStatus().equals("00")){
//			yctDataVo.setCodeColor("绿");
//		}
//		if(zhongYuResponse.getData().getStatus().equals("01")){
//			yctDataVo.setCodeColor("黄");
//		}
//		if(zhongYuResponse.getData().getStatus().equals("10")){
//			yctDataVo.setCodeColor("红");
//		}
//
//		//"msg": "2022-01-26,3,兰州生物",
//		String[]  ymMsg=zhongYuResponse.getMsg().split(",");
//		try {
//			yctDataVo.setYmNum(Integer.valueOf(ymMsg[1]));
//			yctDataVo.setYmTime(ymMsg[0]+" 00:00:00");
//		}catch (Exception e){
//
//		}
//
//		//"hsjg": "2022-05-08 00:04:31,亚太综合门诊部,阴性"
//		String[]  hsMsg=zhongYuResponse.getData().getHsjg().split(",");
//
//		try {
//			yctDataVo.setHsResult(hsMsg[2]);
//			yctDataVo.setHsTime(hsMsg[0]);
//		}catch (Exception e){
//
//		}
//
//
//		/**
//		 * 调用srvpamh 统一处理接口  异步处理
//		 */
//		try {
//			DoorRecodeVo doorRecodeVo=new DoorRecodeVo();
//			doorRecodeVo.setPName(name);
//			doorRecodeVo.setPPhone(yctDataVo.getPPhone());
//			doorRecodeVo.setPCode(identity);
//			doorRecodeVo.setComId(companyId.intValue());
//			doorRecodeVo.setRecodeId(RandomUtil.getRandomString(35));
//			doorRecodeVo.setMonthValue(DateUtils.dateTime().substring(0,6));
//			doorRecodeVo.setCheckStatus("200");
//			doorRecodeVo.setDeviceNo(machNo);
//			doorRecodeVo.setCodeColor(yctDataVo.getCodeColor());
//			doorRecodeVo.setColorTime(yctDataVo.getColorTime());
//			doorRecodeVo.setYmNum(yctDataVo.getYmNum());
//			doorRecodeVo.setYmTime(yctDataVo.getYmTime());
//			doorRecodeVo.setHsResult(yctDataVo.getHsResult());
//			doorRecodeVo.setHsTime(yctDataVo.getHsTime());
//			doorRecodeVo.setOpenTime(DateUtil.getDateTime());
//			doorRecodeVo.setOpenState(3);
//			//中育数据
//			doorRecodeVo.setType(3);
//			srvpamhService.handleYctInfo(doorRecodeVo);
//		}catch (Exception e){
//			logger.info("中育-返回失败 返回数据【{}】", e);
//		}
//
//		return ResultUtil.success(yctDataVo);
//	}
//
//
//
//	//单位Token
//	public Result getCompanyToken(Long companyId,String siteToken) {
//
//		String companyToken = (String)redisUtil.get(REDIS_COMPANY_ZY_TOKEN_PERFIX+siteToken);
//
//		if (CommonUtil.isNull(companyToken)) {
//			String timeStamp = String.valueOf(System.currentTimeMillis());
//
//			String sign1 = siteToken + "_" + timeStamp;
//
//			String key = MD5.MD5Encode(sign1, "utf8").substring(0, 16);
//
//			String aesStr = "";
//			try {
//				aesStr = AES.PKCS5Encrypt(sign1, key);
//			} catch (Exception e) {
//				return ResultUtil.error(ResultEnum.Err_4002);
//
//			}
//			String signValue = MD5.MD5Encode(aesStr, "utf8");
//
//
//			JSONObject jsonObject = new JSONObject();
//			jsonObject.put("sign", signValue);
//			jsonObject.put("siteToken", siteToken);
//			jsonObject.put("timeStamp", timeStamp);
//
//			String ys = "";
//			try {
//				ys = HttpUtils.doPostBodyData("https://dzzz.gdedu.gov.cn/cgwapi/siteloginv2", jsonObject, "utf-8");
//			} catch (Exception e) {
//				logger.info("数据aes 异常 【{}】", e);
//				return ResultUtil.error(ResultEnum.Err_4002);
//			}
//			ZhongYuVo zhongYuVo = JSON.parseObject(ys, ZhongYuVo.class);
//
//			if (zhongYuVo.getCode() == 200) {
//				redisUtil.set(REDIS_COMPANY_ZY_TOKEN_PERFIX+siteToken,zhongYuVo.getToken(),7200l);
//			} else {
//				return ResultUtil.error(ResultEnum.Err_4003);
//			}
//			return ResultUtil.success(zhongYuVo.getToken());
//		}
//
//		return   ResultUtil.success(companyToken);
//
//	}
//
//	//姓名和身份证加密
//	public String signUserNameIdentity(String secret,String source){
////		String secret= "2D7E7C96-DAC5-4526-96C3-C60CDEC4B120";
////		String source= "44148119910206339x";
//		String md5 = MD5.MD5Encode(secret,"utf8").toLowerCase(Locale.ROOT);
//		String key= md5.substring(0,16);
//		String cipherText = "";
//		try {
//			cipherText = AES.PKCS5Encrypt(source,key);
//		}catch (Exception e){
//			logger.info("中育-身份证姓名加密异常 异常 【{}】", e);
//		}
//		return cipherText;
//		//朱晖 zrkKsTBPjl1kgZbenTo0UA==
//		//44148119910206339X   ZihaXaJLW/XijUafAYdSEjOhEeTStdrYft2FOZ+YkYM=
//	}
//
//
//
//
//
//
//	public static void main(String[]  argd){
//		String msg ="2022-01-26,3,兰州生物";
//		String[]  sm=msg.split(",");
//	//	System.out.println(sm[0]);
//
//	}
//
//}
